/**
 * 设备列表
 */
export interface DeviceListType {
  /**
   * 主键
   */
  id?: number;

  /**
   * 设备编码(序列号)
   */
  deviceCode?: string;

  /**
   * 设备分类
   */
  deviceType?: number;

  /**
   * 所属企业社会信用代码
   */
  corpCode?: string;

  /**
   * 审核人Id
   */
  auditUserId?: number;

  /**
   * 审核人姓名
   */
  auditUserName?: string;

  /**
   * 审核时间
   */
  auditTime?: Date;

  /**
   * 设备审核状态
   */
  status?: number;

  /**
   * 禁用时间
   */
  disableTime?: Date;

  /**
   * 禁用原因
   */
  disableReason?: string;

  /**
   * 创建时间
   */
  createTime?: Date;

  /**
   * 设备描述
   */
  description?: string;

  /**
   * 设备信息
   */
  deviceInfo?: string;

  /**
   * 状态名称
   */
  statusName?: string;

  /**
   * 设备类型名称(身份证读卡器 , 门禁闸机等)
   */
  deviceTypeName?: string;

  /**
   * ip地址
   */
  ipAddress?: string;

  /**
   * 最后同步时间
   */
  lastSyncTime?: string;
}

/**
 * 设备新增
 */
export interface DeviceFormType {
  /**
   * 主键
   */
  id?: number;

  /**
   * 设备编码(序列号)
   */
  deviceCode?: string;

  /**
   * 设备分类
   */
  deviceType?: number;
  /**
   * 所属企业社会信用代码
   */
  corpCode?: string;

  /**
   * 设备描述
   */
  description?: string;

  /**
   * 设备信息
   */
  deviceInfo?: string;
}

/**
 *	考勤设备列表
 */
export interface ProjectCheckInDeviceListForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 项目id
   */
  projectId?: number;

  /**
   * 考勤设备设备厂家
   */
  type?: number;

  /**
   * 考勤设备设备厂家
   */
  typeName?: string;

  /**
   * 设备名称
   */
  name?: string;

  /**
   * 设备序列号(设备编号)
   */
  code?: string;

  /**
   * 有效起始日期
   */
  startDate?: Date;

  /**
   * 有效截至日期
   */
  endDate?: Date;

  /**
   * 进出类型
   */
  inOut?: number;

  /**
   * 进出类型
   */
  inOutName?: string;

  /**
   * 设备型号
   */
  model?: string;

  /**
   * 设备版本
   */
  version?: string;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 是否禁用
   */
  isDisable?: boolean;

  /**
   * 创建时间
   */
  createTime?: Date;
}

/**
 *	新增修改
 */
export interface ProjectCheckInDeviceForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 项目id
   */
  projectId?: number;
  projectName?: string;
  corpId?: number;

  /**
   * 考勤设备设备厂家
   */
  type?: number;

  /**
   * 设备名称
   */
  name?: string;

  /**
   * 设备序列号(设备编号)
   */
  code?: string;

  /**
   * 有效起始日期
   */
  startDate?: Date;

  /**
   * 有效截至日期
   */
  endDate?: Date;

  /**
   * 进出
   */
  inOut?: number;

  /**
   * 设备型号
   */
  model?: string;

  /**
   * 设备版本
   */
  version?: string;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 是否禁用
   */
  isDisable?: boolean;
}

/**
 * 考勤机命令列表
 */
export interface CheckinDeviceCommandListForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 考勤设备设备厂家
   */
  deviceType?: number;

  /**
   * 设备类型( 海清......)
   */
  deviceTypeName?: string;

  /**
   * 命令名称
   */
  name?: string;

  /**
   * 命令代码
   */
  operator?: string;

  /**
   * 命令编码
   */
  code?: string;

  /**
   * 设备上线后是否自动执行
   */
  isAuto?: boolean;

  /**
   * 是否禁用
   */
  isDisable?: boolean;

  /**
   * 创建时间
   */
  createTime?: Date;
}

/**
 * 考勤机命令新增/修改
 */
export interface CheckinDeviceCommandForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 考勤设备设备厂家
   */
  deviceType?: number;

  /**
   * 命令名称
   */
  name?: string;

  /**
   * 命令代码
   */
  operator?: string;

  /**
   * 命令编码
   */
  code?: string;

  /**
   * 设备上线后是否自动执行
   */
  isAuto?: boolean;

  /**
   * 是否禁用
   */
  isDisable?: boolean;

  /**
   * 创建时间
   */
  createTime?: Date;
}

/**
 * 下发命令记录列表
 */
export interface CheckinDeviceCommandLogListForm {
  /**
   * 主键
   */
  id?: number;

  /**
   * 命令名称
   */
  name?: string;

  /**
   * 命令代码
   */
  operator?: string;

  /**
   * 消息id
   */
  messageId?: string;

  /**
   * 下发状态 200为成功
   */
  code?: string;

  /**
   * 设备编码
   */
  deviceCode?: string;

  /**
   * 返回信息
   */
  result?: string;

  /**
   * 下发时间
   */
  distributeTime?: Date;

  /**
   * 返回时间
   */
  resultTime?: Date;

  /**
   * 是否自动下发
   */
  isAuto?: boolean;
}
/* 页面请求参数 */
export interface ParamsType {
  pageIndex?: number;
  pageSize?: number;
  keywords?: string;
  cityCode?: number;
  areaCode?: number;
  type?: number;
  InOut?: number;
  projectId?: number;
}
